package com.ruoyi.system.media;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;


/**
 * 双片式OBU车辆信息文件(DF01/EF01)的解码信息
 */
public class ObuEf01Model {
    /**
     * 车牌号码(01-12,12,不含颜色)
     */
    @JSONField(ordinal = 1)
    public String cCarPlat = "";

    /**
     * 车牌颜色(13-14,2,an)
     * 高字节： 00H	低字节：0x00 –蓝色； 0x01–黄色； 0x02 –黑色； 0x03 –白色； 0x04－渐变绿色； 0x05－黄绿双拼色； 0x06－蓝白渐变；0x07～ 0xFF 保留
     */
    @JSONField(ordinal = 2)
    public Integer cPlatClr = 0;

    /**
     * 车型(15-15,1,n)
     * 0~4:客1~客9；11~16：货1~货6；21~26：专1~专6
     */
    @JSONField(ordinal = 3)
    public Integer nVchClss = 0;

    /**
     * 用户类型(16-16,1,n)
     * 0-普通车； 6-公务车； 8-军警车； 10-紧急车； 12-免费；14-车队； 0～20 内其他：自定义；
     * 21-绿通车； 22-联合收割机 ; 23-抢险救灾; 24－J1专用集装箱车；25-大件运输; 26－应急救援车；27－货车列车或半挂汽车列车;28-J2集装箱车
     */
    @JSONField(ordinal = 4)
    public Integer nPayClss = 0;

    /**
     * 客货车辆长度
     * 车辆大小
     * 客车(单位：dm)
     * 长[2 字节] X 宽[1 字节] X 高[1 字节]
     * 货车(单位：mm)
     * 长[2字节]× 宽[2字节]× 高[2字节]
     */
    @JSONField(ordinal = 5)
    public Integer nVchSizeL = 0;

    /**
     * 客货车辆宽度
     * 车辆大小
     * 客车(单位：dm)
     * 长[2 字节] X 宽[1 字节] X 高[1 字节]
     * 货车(单位：mm)
     * 长[2字节]× 宽[2字节]× 高[2字节]
     */
    @JSONField(ordinal = 6)
    public Integer nVchSizeW = 0;

    /**
     * 客货车辆高度(单位：mm)
     * 车辆大小
     * 客车(单位：dm)
     * 长[2 字节] X 宽[1 字节] X 高[1 字节]
     * 货车(单位：mm)
     * 长[2字节]× 宽[2字节]× 高[2字节]
     */
    @JSONField(ordinal = 7)
    public Integer nVchSizeH = 0;

    /**
     * 客车车辆轮数(1字节)
     */
    @JSONField(ordinal = 8)
    public Integer nVchWhel = 4;

    /**
     * 客车车辆轴数(1字节)
     */
    @JSONField(ordinal = 9)
    public Integer nVchAxis = 2;

    /**
     * 客车车辆轴距(2字节)
     * 单位：mm
     */
    @JSONField(ordinal = 10)
    public Integer nVchAxLn = 0;

    /**
     * 客货座位(3字节)
     * 老货车车辆载重/座位数，其中，载重的单位：kg
     */
    @JSONField(ordinal = 11)
    public Integer nVchSeat = 5;

    /**
     * 新货车核载质量/准牵引总质量(3字节)
     * (单位：kg)
     */
    @JSONField(ordinal = 12)
    public Integer approvedLoad = 0;

    /**
     * 新货车整备质量(3字节)
     * (单位：kg)
     */
    @JSONField(ordinal = 13)
    public Integer unladenMass = 0;

    /**
     * 新货车总质量(3字节)
     * (单位：kg)
     */
    @JSONField(ordinal = 14)
    public Integer grossMass = 0;

    /**
     * 客货车辆识别代码
     * 客车：车辆发动机号(16字节)
     * 货车：车辆识别代码(17字节)
     */
    @JSONField(ordinal = 15)
    public String vehcleId = "";

    /**
     * 客货车辆特征描述(16字节)
     * 货车默认填写0xFF
     */
    @JSONField(ordinal = 16)
    public String specDesc = "";

    /**
     * 备用
     */
    @JSONField(ordinal = 17)
    public String spare = "FFFFFFFFFFFFFFFFFFFFFFFFFFFF";
}
